Data transfers to/from a disk drive can be one of the biggest bottlenecks in a computer system. Caching of disk drive data can offer significantly improved performance, and may also reduce power consumption because the associated drive can be kept spun-down for longer periods of time. In a disk cache system, data can be written to either the cache or the disk drive or both. In a write-back cache, data written to the cache may be marked as ‘dirty’ (the data in cache has been updated but not the data on the disk drive), and then marked as ‘clean’ when the data is written to the disk drive. When data is dirty in the cache, it must be retrieved from the cache, but when the data is clean it can be retrieved from either the disk drive or the cache. Various storage systems have caching policies to determine whether to use the disk drive or the cache for any given request. One such policy is to always retrieve requested data from cache if the data is in the cache and is also marked as clean. Otherwise the data is retrieved from the disk drive. Even though a cache generally has much faster access times than the disk drive, in some instances the cache can become a bottleneck, and data reads from the cache can take longer than they would from the disk drive. This can happen if the queue of requests to the cache becomes large, while there are few or no requests to the disk drive itself. Further, some types of cache technology (e.g., NAND flash) periodically require time-consuming overhead operations such as reclaiming erase blocks, which causes further bottlenecks in retrieving data from the cache.